/*********************************************************************************
 * COPYRIGHT NOTICE
 * Copyright (c) 2017-2018, XinJiang University
 * All rights reserved.
 *
 * 文件名		:	Sys_IO.h
 * 描述 		:	系统初始化
 *
 * 版本			:	V3.3.4
 * 作者			:	王志浩
 * 日期			:	2017-10-22
 * 
 * 以下全部程序之著作权归属新疆大学所有，软件著作权登记编号2018R11L423999
 * 未经著作权所有人书面授权，任何单位和个人不得将以下程序用于商业盈利用途！
 * 修改此程序请保留上述版权声明，引用程序请注明出处！
**********************************************************************************/
#ifndef _SYS_IO_H_
#define	_SYS_IO_H_


//宏定义
#define KEYDOWN_TIME_CODER	50u
#define	KEYHOLD_TIME_CODER	250u

#define KEYDOWN_TIME	2u
#define	KEYHOLD_TIME	50u


#define EC11_A (GPIOA->IDR & 0x04)
#define EC11_B (GPIOD->IDR & 0x01)
//按键状态
typedef enum
{
    KEY_FREE  	=   0,         
    KEY_DOWN 		=   1,        
		KEY_HOLD		=		2
} KEY_STATUS_e;

//旋转状态
typedef enum
{
    CODER_FREE  	=   0,         
    CODER_ADD 		=   1,        
		CODER_SUB			=		2
} CODER_STATUS_e;

//结构体声明
typedef struct
{
	KEY_STATUS_e		Key;						
	CODER_STATUS_e	Coder;				
}EC11_State_s;

//全局变量声明
extern unsigned char 		BeepCounterFlag;
extern EC11_State_s				ec11_state;

//函数声明
void EC11_Capture(void);
void Beep(unsigned int beep);
void Key_Scan(void);

#endif
